home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / TEST / WHOLEDIV.M < prev    next >
Encoding:
Text File  |  1992-02-13  |  797 b   |  35 lines

  1.  
  2. MODULE WholeTest;
  3.  
  4. FROM SYSTEM IMPORT ASSEMBLER;
  5.  
  6. CONST
  7.   const65536 = LONGINT(65536);
  8.   
  9. VAR
  10.   var65536   : LONGINT;
  11.   
  12.   varResult  : INTEGER;
  13.   constResult: INTEGER;
  14.   
  15.   d          : LONGINT;
  16.  
  17. BEGIN
  18.   var65536 := 65536;
  19.   d := -65536;         (* Fehler tritt bei negativen Zahlen d auf. *)
  20.   
  21.   (* Division durch eine Variable, die 65536 enthält: *)
  22.   ASSEMBLER BREAK END;
  23.   varResult := SHORT(d DIV var65536);
  24.   (* Klappt ja wunderbar. *)
  25.   
  26.   
  27.   (* Wenn man jetzt die Variable durch eine Konstante ersetzt,
  28.      könnte der Compiler doch so schlau sein, das Resultat durch
  29.      ein SWAP zu erhalten... *)
  30.   constResult := SHORT(d DIV const65536);
  31.   (* Zu früh gefreut. Man sollte schon froh sein, wenn er's
  32.      überhaupt berechnen kann. *)
  33.  
  34. END WholeTest.
  35.